/*
 * funciones.h
 *
 *  Created on: 24/09/2011
 *      Author: Ramiro - Matias
 */
#include "estructuras.h"

#ifndef FUNCIONES_H_
#define FUNCIONES_H_
#define FILEPATH "/home/utn_so/fat32.disk"
//#define FILEPATH "/home/utn_so/prueba"
/*para probarlo lo hicimos con el archivo prueba pero es lo
 mismo con el archivo fat32.disk*/
#define ARCHIVOCONFIG "/home/utn_so/Desarrollo/Workspace/ProcesoPPD/config"

/*char inicio[8];
int identificador;
char algoritmo[7];
int puerto, flag, t_lectura, t_escritura, RPM, t_salto;
char saraza[18]; //para que fscanf tome la primer variable, no lo uso
struct valoresCHS CHS;*/
char* infoLeida;
int posicionActual;//Posicion actual (sector) en formato entero, empieza en 0 pero se va modificando
char* cleanBuffer;//Vendria a ser un buffer lleno de ceros de 512 bytes (se usa para el clean)
struct colaDeSectores colaDePedidos[30];

int tamanioArchivo (char* filepath);
char* mapearArchivo(char* filepath, int tamanio);
char* leerSector(char* map, int numSector);
int escribirSector (char* map, char* buffer, int numSector);
void tratarSector(int numeroSec, config Conf, int pistaActual, int sectorActual);
config leerConfig (char* archivoDeConfiguracion);
void iniciarCola (void);
int espacioEnCola (void);
void cargarCola(int numSec, char tipo, char* Buffer);
void tratarCola(char* map, config Conf);
void ordenarColaPedidos(config Conf);
//float tiempoEntreSectores(int sector1, int sector2, float tiempoEnRecorrerSector, int sectoresTotales);
//float tiempoEntrePistas(int pista1, int pista2, float tiempoEnRecorrerPista, int pistasTotales);
float tiempoDeGiro (config Conf);
ps pasarA_pistaSector (int numSector, config Conf);

#endif /* FUNCIONES_H_ */
